import Vue from 'vue'
import App from './App'
import store from './store' // store
import plugins from './plugins' // plugins
import './permission' // permission
Vue.use(plugins)


// 添加全局事件处理逻辑
Vue.prototype.onLaunch = function(options) {
  // 在这里处理从支付宝首页扫一扫进入小程序的逻辑
  if (options.query && options.query.qrCode) {
    // 将获取到的关联普通二维码的码值存储到全局变量中，这里假设使用uni.$emit进行全局事件的派发
    uni.$emit('qrCode', options.query.qrCode);
  }
}


Vue.prototype.$generateRequestUrl = function(params, url) {
  // 将所有需要发送至服务端的请求参数按照参数名进行排序
  const sortedKeys = Object.keys(params).sort();

  // 将排序后的参数按照 URL 键值对的格式拼接成字符串 strA
  const strA = sortedKeys.map(key => `${key}=${params[key]}`).join('&');

  // 在 strA 后面拼接上车场对应的 ukey得到 strSignTemp 字符串
  const strSignTemp = `${strA}&ukey=${params.parkid}`;

  // 将 strSignTemp 字符串转换为小写字符串后进行 MD5 运算，得到 sign 的值
  const sign = md5(strSignTemp.toLowerCase());

  // 构建最终的请求 URL
  const requestUrl = `${url}?sign=${sign}&${strA}`;

  return requestUrl;
}

Vue.config.productionTip = false
Vue.prototype.$store = store

App.mpType = 'app'

const app = new Vue({
  ...App
})

app.$mount()
